package com.example.homework.string.homework03;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        /*
        请编写程序,由键盘录入一个字符串,把字符串中的所有字母都变成大写后输出,再把字符串中的所有字母变成小写后输出
        比如：
            键盘录入字符串:Hello12345World~!#$
            控制台输出:
                转换后的大写字符串: HELLO12345WORLD~!#$
                转换后的小写字符串: hello12345world~!#$
        要求:
            1.定义方法myToUpperCase,完成把方法参数字符串转换成大写字符串并返回转换后的结果
            2.定义方法myToLowerCase,完成把方法参数字符串转换成小写字符串并返回转换后的结果
            3.获取键盘录入的字符串后,分别调用以上两个方法,获取结果字符串并输出
         */
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串：");
        String str = sc.nextLine();

        String str1 = myToUpperCase(str);
        System.out.println("转换后的大写字符串：" + str1);

        String str2 = myToLowerCase(str);
        System.out.println("转换后的小写字符串：" + str2);
    }

    /**
     * 把字符串中的所有字母都变成大写
     *
     * @param str 待转换的字符串
     * @return 转换后的字符串
     */
    public static String myToUpperCase(String str) {
        // 定义变量存储转换后的字符串
        String result = "";

        // 循环遍历字符串中的每次一个字符
        for (int i = 0; i < str.length(); i++) {
            // 取出当前字符
            char c = str.charAt(i);
            // 判断当前字符是否是小写字母
            if (c >= 'a' && c <= 'z') {
                // 说明是小写字母,转成大写字母,拼接到result中
                c = (char) (c - 32);
                result += c;
            } else {
                // 不是小写字母,原样拼接
                result += c;
            }
        }
        return result;
    }

    /**
     * 把字符串中的所有字母都变成小写
     *
     * @param str 待转换的字符串
     * @return 转换后的字符串
     */
    public static String myToLowerCase(String str) {
        // 定义变量存储转换后的字符串
        String result = "";

        // 循环遍历字符串中的每次一个字符
        for (int i = 0; i < str.length(); i++) {
            // 取出当前字符
            char c = str.charAt(i);
            // 判断当前字符是否是大写字母
            if (c >= 'A' && c <= 'Z') {
                // 说明是大写字母,转成大写字母,拼接到result中
                c = (char) (c + 32);
                result += c;
            } else {
                // 不是大写字母,原样拼接
                result += c;
            }
        }
        return result;
    }
}
